package qdu.mytest.ch3_lists.exp3_steps;

import java.util.List;
import java.util.Map;

import qdu.mytest.ch3_lists.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class Mybaseadp1 extends BaseAdapter{
	Context mycontext;
	List<Map<String,Object>> mylist;
	ImageView iv;
	TextView tv_name,tv_desc;
    public Mybaseadp1(Context mycontext,  List<Map<String,Object>> mylist){
    	this.mycontext = mycontext;
    	this.mylist = mylist;
    }
	@Override
	public int getCount() {
		return mylist.size();//返回列表控件的项数（item个数）
	}
	@Override
	public Object getItem(int position) {//返回列表控件中某一（position）项的引用
		return null;
	}
	@Override
	public long getItemId(int position) {
		return 0;
	}
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    	//创建并返回当前position对应位置的item的UI对象，列表控件中每个显式出来的item都会调用一次该函数
    	//参数1：position当前对应的序号
		//参数2：系统传入的该item对应的UI对象的引用（初始为null），该引用与列表控件的复用机制等有关，用来提高处理效率
		//参数3：依附的上级UI
	//---------------重写getView的步骤----------------------
	// ---1. 根据item的布局文件，创建布局对象，赋值给参数2 convertView
		convertView = LayoutInflater.from(mycontext).inflate(R.layout.ly_mylv,null);
		//inflate将对应的布局xml资源转化成UI布局对象
	//---2. 从当前item布局中获取相应UI元素的引用
		iv = (ImageView) convertView.findViewById(R.id.icon);
		tv_name = (TextView) convertView.findViewById(R.id.name);
		tv_desc = (TextView) convertView.findViewById(R.id.dexc);
	//---3. 从数据结构中取出相应的数据，存入相应的UI元素中
		iv.setImageResource((Integer)mylist.get(position).get("icon"));
		tv_name.setText((String)mylist.get(position).get("name"));
		tv_desc.setText((String)mylist.get(position).get("desc"));
		
		return convertView;
	}
	
}
